package 包装类;

// 包装类: 就是把基本类型的数据包装成对象

import java.util.ArrayList;

public class test {
    public static void main(String[] args) {
        //目标: 掌握包装类的使用

//        Integer a1 = new Integer(12);已过时的构造器
        Integer a1 = Integer.valueOf(12);
        System.out.println(a1);

        //自动装箱机制: 可以自动把基本类型的数据转化成对象
        Integer a2 = 12;//这里启用了自动装箱机制

        //自动拆箱机制: 可以自动把包装类型的对象换成对应的基本数据类型
        int a3 = a2;

        // 泛型和集合不支持基本数据类型,只能支持引用类型数据
//        ArrayList<int> list = new ArrayList<int>();false
        ArrayList<Integer> list = new ArrayList<>();
        list.add(12);//自动装箱
        list.add(13);
        int r = list.get(1);//自动拆箱




        //包装类的其他常见操作
        //1.把基本类型的数据转成字符串
        Integer a = 23;
        String r1 = Integer.toString(a);
        System.out.println(r1);//结果为23
        System.out.println(r1 + 1);//结果为231

        String r2 = a.toString();
        System.out.println(r1.equals(r2));//true

        //2.把字符串类型的数值转换成对应的基本类型
        String r3 = "9";
//        int a4 = Integer.parseInt(r3);//a4=9
        int a4 = Integer.valueOf(r3);
        System.out.println(a4);//9
        System.out.println(a4 + 1);//10
    }
}
